// 处理 token 的校验
const jwt = require("jsonwebtoken");

module.exports = (req, res, next) => {
  try {
    // 1. 从请求头中获取传递过来的 token
    const token = req.get("Authorization");
    console.log("token: ", token);
    // 2. 验证 token 的正确性
    const userInfo = jwt.verify(token, "ABCDEFG");
    // 3. 要 userInfo 挂到 req 对象上，供后面的中间件使用
    req.userInfo = userInfo;
    // 4. 最后的最后，不要忘了 next
    next();
  } catch (error) {
    // 要么 没有传递 Authorization
    // 要么 token 校验失败
    console.log(error);
    res.send(401, {
      code: -1,
      msg: "授权失败",
    });
  }
};
